<style>

</style>
<template>
         <!-- 库存预警 -->
   <div>
         <Spin size="large" fix v-if="spinShow"></Spin>
          <!-- 根据条件查询 -->
    <div>
       <el-form :inline="true"  class="demo-form-inline" ref="ruleForm">
        <el-form-item label="单据编号">
          <el-input v-model="documentNumber" placeholder="请输入单据编号查询"></el-input>
        </el-form-item>
        <el-form-item label="商品名称">
          <el-input v-model="productName" placeholder="请输入商品信息查询"></el-input>
        </el-form-item>
        
        <el-form-item>
          <el-button type="primary" plain   @click="findByPage">查询</el-button>
          <el-button @click="resetForm">重置</el-button>
        </el-form-item>
      </el-form>
    </div>
    <br>
   <el-button type="primary" plain   @click="exportExcel">导出</el-button>



           <!-- table展示 -->
       <div>
         <br>
         <Table
         class="table"
        border
        
        :columns="columns4"
        :data="data1"
     
      >

          <template  slot-scope="scope" slot="danwei">
          <span >{{scope.row.erpAlreadystorage.unit}}</span>
        </template>

            <template  slot-scope="scope" slot="num1">
          <span >{{scope.row.erpAlreadystorage.num}}</span>
        </template>

            <template  slot-scope="scope" slot="num2">
          <span >{{scope.row.num-scope.row.erpAlreadystorage.num}}</span>
        </template>

          <template  slot-scope="scope" slot="type">
          <span >{{scope.row.erpCommoditystyle.classificationName}}</span>
        </template>

         <template  slot-scope="scope" slot="document">
          <span >{{scope.row.erpAlreadystorage.documentNumber}}</span>
        </template>

          <template  slot-scope="scope" slot="supplier">
          <span >{{scope.row.erpAlreadystorage.supplier}}</span>
        </template>
            

            
      </Table>
    </div>
    <br>


    
       <!-- 分页 -->
    <div style="float:right">
      <Page
        :total="dataCount"
        :page-size="pageSize"
        @on-change="changepage"
        @on-page-size-change="_nowPageSize"
        show-elevator
      />
    </div>
    <br><br>

   </div>
</template>
<script>
import axios from "axios";
import FileSaver from "file-saver";
import XLSX from "xlsx";
export default {
   data() {
      return {
        spinShow:true,

           columns4: [
             {
                title:"商品名称",
                key:"productName",
            align:"center",
             },
              {
                title:"单据编号",
                slot:"document",
            align:"center",
             },
              {
                title:"商品类型",
                slot:"type",
            align:"center",
             },
              {
                title:"单位",
                slot:"danwei",
            align:"center",
             },
              {
                title:"型号",
                key:"model",
            align:"center",
             },
             {
                title:"供应商",
                slot:"supplier",
            align:"center",
             },
               
              {
                title:"安全存量",
                key:"num",
            align:"center",
             },
              {
                title:"当前库存",
                slot:"num1",
            align:"center",
             },
              {
                title:"建议入库量",
                slot:"num2",
            align:"center",
             }      
              
      ],

         data1:[],       
                   // 分页的条件
      productName: "",
      documentNumber: "",
      begintime: [],


      //分页
        pageSize: 5, //每页显示多少条
      dataCount: 0, //总条数
      pageCurrent: 1, //当前页,


      }
   },


   created(){
      this.getList();
   },
   methods:{

          changepage(index) {
         axios
        .post(
          "//localhost:8082/Commodity/getCommodityPage?documentNumber=" +
            this.documentNumber +
            "&productName=" +
            this.productName +
            "&time=" +
            this.begintime +
            "&pageSize=" +
            this.pageSize +
            "&pageCurrent=" +
          index
        )
        .then(res => {
          console.log("13123123123213")
          console.log(res.data);
          this.dataCount = res.data.countTotal;
          this.data1 = res.data.list;
         
          //当从数据库获取完毕  关闭加载特效
          this.spinShow=false;
          // this.begintime = "";
        });
    },

    //每页显示的数据条数
    _nowPageSize(index) {
      //实时获取当前需要显示的条数
      this.pageSize = index;
    },

      getList(){
            axios
        .post(
          "//localhost:8082/commodity/getCommodityPage?documentNumber=" +
            this.documentNumber +
            "&productName=" +
            this.productName +
            "&time=" +
            this.begintime +
            "&pageSize=" +
            this.pageSize +
            "&pageCurrent=" +
            this.pageCurrent
        )
        .then(res => {
          console.log("13123123123213")
          console.log(res.data);
          this.dataCount = res.data.countTotal;
          this.data1 = res.data.list;
         
          //当从数据库获取完毕  关闭加载特效
          this.spinShow=false;
          // this.begintime = "";
        });





      },

      findByPage(){
        this.spinShow=true;
   axios
        .post(
          "//localhost:8082/commodity/getCommodityPage?documentNumber=" +
            this.documentNumber +
            "&productName=" +
            this.productName +
            "&time=" +
            this.begintime +
            "&pageSize=" +
            this.pageSize +
            "&pageCurrent=" +
            this.pageCurrent
        )
        .then(res => {
          console.log("13123123123213")
          console.log(res.data);
          this.dataCount = res.data.countTotal;
          this.data1 = res.data.list;
         
          //当从数据库获取完毕  关闭加载特效
          this.spinShow=false;
          // this.begintime = "";
        });
      },
      
                   // 重置
    resetForm() {
      this.documentNumber = "";
      this.begintime = [];
      this.productName = "";
    },
    // 导出表格所用
    exportExcel() {
      // 设置当前日期
      let time = new Date();
      let year = time.getFullYear();
      let month = time.getMonth() + 1;
      let day = time.getDate();
      let name = year + "" + month + "" + day;
      // console.log(name)
      /* generate workbook object from table */
      //  .table要导出的是哪一个表格
      var wb = XLSX.utils.table_to_book(document.querySelector(".table"));
      /* get binary string as output */
      var wbout = XLSX.write(wb, {
        bookType: "xlsx",
        bookSST: true,
        type: "array"
      });
      try {
        //  name+'.xlsx'表示导出的excel表格名字
        FileSaver.saveAs(
          new Blob([wbout], { type: "application/octet-stream" }),
          name + ".xlsx"
        );
      } catch (e) {
        if (typeof console !== "undefined") console.log(e, wbout);
      }
      return wbout;
    }



   }
}
</script>
